package leetcode;

/**
 * 给你两个整数，n 和 start 。
 * <p>
 * 数组 nums 定义为：nums[i] = start + 2*i（下标从 0 开始）且 n == nums.length 。
 * <p>
 * 请返回 nums 中所有元素按位异或（XOR）后得到的结果。
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/xor-operation-in-an-array
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 *
 * @author Europa
 */
public class Num1486 {

    public int xorOperation(int n, int start) {
        if (n <= 1) {
            return start;
        }
        // 获取0号索引的值
        int x = start;
        for (int i = 1; i < n; i++) {
            // 计算出来的值 ^= 当前的x
            x ^= (start + 2 * i);
        }
        return x;
    }

    public static void main(String[] args) {
        Num1486 num1486 = new Num1486();
        int n = 1;
        int start = 7;
        int i = num1486.xorOperation(n, start);
        System.out.println(i);
    }
}
